//package org.chs.ts.batch.execute.step;
//
//
//import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
//import com.baomidou.mybatisplus.core.toolkit.StringUtils;
//import com.sun.deploy.util.ParameterUtil;
//import lombok.extern.slf4j.Slf4j;
//import org.chs.ts.batch.constant.TaskStepStatusCodeEnum;
//import org.chs.ts.batch.exception.TaskStepExecException;
//import org.chs.ts.batch.exec.entity.BatchClearBasicTaskStepExec;
//import org.chs.ts.batch.execute.BatchTaskExecute;
//import org.chs.ts.batch.util.CommonUtil;
//import org.springframework.context.annotation.Lazy;
//import org.springframework.stereotype.Service;
//
//import javax.annotation.Resource;
//import java.io.File;
//import java.io.IOException;
//import java.math.BigDecimal;
//import java.util.ArrayList;
//import java.util.List;
//import java.util.stream.Collectors;
//
///**
// * @Compay 盛唐天行
// * @Author: wuwei
// * @Censor By wuwei
// * @Sence 2024/5/7 10:04
// * @Modify 2024/5/7 10:04
// * @Description 跑批平台-获取核心对账文件
// * 未启用 taskParams 和 taskStepParams
// */
//@Slf4j
//@Service("TaskStepGetAccountingFileBusinessFromCore")
//@Lazy
//public class TaskStepGetAccountingFileBusinessFromCore implements BatchStepServiceBase<BatchTaskExecute, BatchExecResp, TaskStepExecException> {
//    //
//    //@Resource
//    //private ParameterUtil parameterUtil;
//    //
//    //@Resource
//    //private TempTokenUtil tempTokenUtil;
//    //
//    //@Resource
//    //private IRouterApi iTransApi;
//    //
//    //@Resource
//    //private IMwbpBatchFileService batchFileService;
//    //
//    //@Resource
//    //private IMwbpHostCheckInfoService hostCheckInfoService;
//    //@Resource
//    //private FileSftp fileSftp;
//    //@Resource
//    //private FileGTP fileGTP;
//    //
//    //private File downloadHostFileDir;
//    //private String ip;
//    //private int port;
//    //
//    //private String user;
//    //private String pass;
//    //
//    //@Override
//    //public BatchExecResp execute(BatchTaskExecute BatchServiceBean) {
//    //
//    //    printRunningMsg(BatchServiceBean);
//    //
//    //    BatchExecResp resp = BatchServiceBean.initBatchExecResp();
//    //
//    //
//    //    String downFileMethod = parameterUtil.getParameterByCode("mwbpCoreDownMethod");
//    //    log.info("获取核心对账文件连接标识 mwbpCoreDownMethod(0-GTP,1-SFTP) = {}", downFileMethod);
//    //
//    //    if ("".equals(downFileMethod)) {
//    //        resp.setRtnDesc("核心对账文件连接标识未配置[mwbpCoreDownMethod](0-GTP,1-SFTP)");
//    //        resp.setRtnCode(RetCode.FAILED);
//    //        return resp;
//    //    }
//    //
//    //    try {
//    //        if (MwbpConstant.ERR_MWBP_GTP.equals(downFileMethod) || MwbpConstant.ERR_MWBP_SFTP.equals(downFileMethod)) {
//    //            BatchExecResp respConnectGtp = checkConnServerAndFileDir(resp, downFileMethod);
//    //            if (respConnectGtp.getRtnCode().equals(RetCode.FAILED)) {
//    //                return respConnectGtp;
//    //            }
//    //        } else {
//    //            resp.setRtnDesc("核心对账文件连接标识配置非法 mwbpCoreDownMethod = {" + downFileMethod + "}");
//    //            resp.setRtnCode(RetCode.FAILED);
//    //            return resp;
//    //        }
//    //        log.info("----------------------[通知核心请求对账文件]--------------------------");
//    //
//    //        MwbpBatchFile batchFile = noticeHostGenCheckFile(BatchServiceBean.getTaskStepObject(), BatchServiceBean);
//    //        BatchExecResp recvHostGenCheckFileResp = recvHostGenCheckFile(resp, batchFile.getChannelSeqNo(), downFileMethod);
//    //
//    //        if (recvHostGenCheckFileResp.getRtnCode().equals(RetCode.FAILED)) {
//    //            return recvHostGenCheckFileResp;
//    //        }
//    //        log.info("获取核心对账文件返回结果：{}", recvHostGenCheckFileResp.getRtnCode());
//    //
//    //    } catch (Exception e) {
//    //        log.info("获取核心对账文件失败或保存数据失败:{}", e.getMessage());
//    //        resp.setRtnDesc("获取核心对账文件失败或保存数据失败:{}" + e.getMessage());
//    //        resp.setRtnCode(RetCode.FAILED);
//    //        return resp;
//    //    }
//    //
//    //
//    //    return resp;
//    //}
//    //
//    //@Override
//    //public void printRunningMsg(BatchTaskExecute batchServiceBean) {
//    //    // 输出 运行参数信息
//    //    CommonUtil.showRunningMsg(this.getClass().getSimpleName(), "execute", batchServiceBean.getTaskParams(), batchServiceBean.getTaskStepParams());
//    //    // 当前方法 在 未启用 taskParams 和 taskStepParams 调用
//    //    CommonUtil.invalidParamMsg(this.getClass().getSimpleName(), "execute", batchServiceBean.getTaskParams(),
//    //            batchServiceBean.getTaskStepParams());
//    //}
//    //
//    //
//    ///**
//    // * 2.2、获取对账文件
//    // *
//    // * @Description wuwei@20230605 修改返回值将 下载文件状态返回到上一级
//    // * * 清算任务子步骤配置执行表
//    // * *                       a.检查本地路径是否存在，没有则自行创建
//    // * *                       b.查询数据库获取文件下载路径
//    // * *                       c.成功之后下载文件到本地
//    // * *                       d.解析文件并将数据入库
//    // */
//    //public BatchExecResp recvHostGenCheckFile(BatchExecResp resp, String channelSeqNo, String downFileMethod) {
//    //
//    //    log.info("---------- recvHostGenCheckFile-获取核心对账文件 Begin -----------");
//    //    //获取文件记录
//    //    MwbpBatchFile batchFile = getChannelSeqNo(channelSeqNo);
//    //    //校验文件路径
//    //    if (Util.isNullOrEmpty(batchFile.getRecvFileName())) {
//    //        throw new ServiceException(RetCode.ERR_MWBP_HOST_FILE_RECV_FILE_NAME, RetCode.ERR_MWBP_HOST_FILE_RECV_FILE_NAME_MSG);
//    //    }
//    //    //添加下载默认值
//    //    boolean downloadFile = false;
//    //    //文件每次等待时间
//    //    long coreWaitTime = Long.parseLong(parameterUtil.getParameterByCode("mwbpCoreWaitTime"));
//    //    //数据较少可以暂时注释
//    //    try {
//    //        log.info("核心生成文件每次等待时间（秒）:{}", coreWaitTime * 60);
//    //        Thread.sleep(coreWaitTime * 60 * 1000);
//    //    } catch (InterruptedException e) {
//    //        log.info("文件每次等待时间:{}", e.getMessage(), e);
//    //    }
//    //    //本地存放路径(File.separlator:系统分隔符)，以系统工作日进行区分文件存放的具体路径，例如：/app/mwbp/fileData/download/host/日期
//    //    String localPath;
//    //    String path = downloadHostFileDir.getPath();
//    //    if (!downloadHostFileDir.getPath().endsWith(File.separator) && !downloadHostFileDir.getPath().endsWith("\\")) {
//    //        path = downloadHostFileDir.getPath() + File.separator;
//    //    }
//    //    localPath = path + batchFile.getExecDate();
//    //    log.info("recvHostGenCheckFile-获取核心对账文件-对账路径获取：{}", localPath);
//    //    //判断接收文件路径是否为空，自行创建文件路径
//    //    File fileLocal = new File(localPath);
//    //    if (!fileLocal.exists() && !fileLocal.isDirectory()) {
//    //        if (!fileLocal.mkdirs()) {
//    //            resp.setRtnCode(RetCode.FAILED);
//    //            resp.setRtnDesc("服务器创建目录[" + localPath + "]失败");
//    //            return resp;
//    //        }
//    //    }
//    //    //获取文件
//    //    log.info("返回核心对账文件为开始获取对账文件：{}", batchFile.getRecvFileName());
//    //    //将下载地址和文件名称分开获取
//    //    String recvRemotePath = "", recvRemoteName;
//    //    //使用sftp通过记录的文件名下载文件
//    //    recvRemoteName = batchFile.getRecvFileName();
//    //    int index = recvRemoteName.lastIndexOf(File.separator);
//    //    if (index != -1) {
//    //        recvRemotePath = recvRemoteName.substring(0, index + 1);
//    //        recvRemoteName = recvRemoteName.substring(index);
//    //    }
//    //    //下载对账文件到中间业务系统服务器
//    //    if (MwbpConstant.MWBP_BATCH_FILE_RECV_STATUS_2.equals(batchFile.getRecvStatus())) {
//    //        //下载次数
//    //        String downloadNums = parameterUtil.getParameterByCode("downloadNums");
//    //        log.info("TaskStepGetCoreTransBusiness 获取文件下载次数downloadNums:{}", downloadNums);
//    //        for (int i = 0; i < Integer.parseInt(downloadNums); i++) {
//    //            //唐山使用GTP文件传输方式，还有一种是SFTP文件传输方式 优先使用GTP
//    //            if (MwbpConstant.ERR_MWBP_GTP.equals(downFileMethod)) {
//    //                log.info("GTP核心对账文件下载开始--01:{};02:{};03:{}:04:{} ", ip, port, user, pass);
//    //                try {
//    //                    //连接登录GTP
//    //                    fileGTP.login(ip, port, user, pass, 60);
//    //                } catch (Error | GtpException e) {
//    //                    log.info("登录GTP服务器=连接登录GTP:{}", e.getMessage(), e);
//    //                }
//    //                log.info("GTP接收核心文件地址:{}", batchFile.getRecvFileName());
//    //                log.info("GTP本地核心文件地址:{}", localPath + recvRemoteName);
//    //                //使用gtp通过记录的文件名下载文件--支持多次下载覆盖原有文件
//    //                downloadFile = fileGTP.download(batchFile.getRecvFileName(), localPath + recvRemoteName);
//    //                log.info("GTP核心对账文件下载结束downloadFile:{}", downloadFile);
//    //            } else {//SFTP文件传输方式下，文件下载
//    //                log.info("SFTP核心对账文件下载开始");
//    //                //Sftp远端地址根路径
//    //                String sbu = parameterUtil.getParameterByCode("mwbpSftpBaseUrl");
//    //                log.info("SFTP核心对账文件下载开始--01:{};02:{};03:{}:04:{} ", ip, port, user, pass);
//    //                log.info("SFTP接收核心对账文件地址:{}", sbu + recvRemotePath + recvRemoteName);
//    //                log.info("SFTP本地核心对账文件地址:{}", localPath + recvRemoteName);
//    //                downloadFile = fileSftp.downloadFile(ip, port, user, pass, sbu + recvRemotePath, recvRemoteName, localPath, recvRemoteName);
//    //                log.info("SFTP核心对账文件下载结束downloadFile:{}", downloadFile);
//    //            }
//    //            if (downloadFile) {
//    //                log.info("核心对账文件获取成功，本地路径为：{}", localPath + recvRemoteName);
//    //                break;
//    //
//    //            } else {
//    //                log.info("核心对账文件获取失败，等待重试，次数：{}，{}秒后进入下次核心对账文件获取", i, coreWaitTime);
//    //                try {
//    //                    Thread.sleep(coreWaitTime * 1000 * 60);
//    //                } catch (InterruptedException e) {
//    //                    log.info("登核心对账文件获取失败，等待重试，次数：{}秒后进入下次核心对账文件获取", e.getMessage(), e);
//    //                }
//    //            }
//    //        }
//    //
//    //        if (downloadFile) {
//    //            resp.setRtnCode(RetCode.FAILED);
//    //            resp.setRtnDesc((MwbpConstant.ERR_MWBP_GTP.equals(downFileMethod) ? "GTP" : "SFTP") + "核心对账文件下载失败!ip[" + ip + "] port[" + port + "]" +
//    //                    " user[" + user + "] pass[" + pass + "]");
//    //            return resp;
//    //        }
//    //
//    //        //读取文件信息保存到数据库（mwbp_host_check_info）
//    //        List<MwbpHostCheckInfo> mwbpHostCheckInfoList = readFileDataToMwbpHostCheckInfo(localPath, recvRemoteName);
//    //        //判断当前文件是否存在数据
//    //        if (!mwbpHostCheckInfoList.isEmpty()) {
//    //            //删除已存在mwbp_host_check_info
//    //            hostCheckInfoService.removeBatchByIds(hostCheckInfoService.list(new LambdaQueryWrapper<MwbpHostCheckInfo>()
//    //                    .in(MwbpHostCheckInfo::getHostSerno,
//    //                            mwbpHostCheckInfoList.stream().map(MwbpHostCheckInfo::getHostSerno).collect(Collectors.toList()))));
//    //            //批量保存mwbp_host_check_info
//    //            hostCheckInfoService.saveBatch(mwbpHostCheckInfoList);
//    //            log.info("---------- recvHostGenCheckFile-获取核心对账文件 end -----------");
//    //        }
//    //    }
//    //
//    //    return resp;
//    //}
//    //
//    ///**
//    // * 读取文件信息保存到数据库（mwbp_host_check_info）
//    // */
//    //private List<MwbpHostCheckInfo> readFileDataToMwbpHostCheckInfo(String localPath, String recvRemoteName) {
//    //    log.debug("接收核心返回对账文件，本地路径：{}", localPath);
//    //    List<MwbpHostCheckInfo> list = new ArrayList<>();
//    //    //从本地读取文件并解析入库
//    //    List<String> checkList = new ArrayList<>();
//    //    try {
//    //        checkList = FileUtils.readFile(new File(localPath + recvRemoteName), "utf-8");
//    //    } catch (
//    //            IOException e) {
//    //        log.info("从本地读取文件并解析入库:{}", e.getMessage(), e);
//    //    }
//    //    //判断文件中是否为空文件
//    //    if (Util.isNullOrEmpty(checkList)) {
//    //        log.info("核心对账文件内容为空，跳过该步骤。");
//    //        return list;
//    //    }
//    //    for (String s : checkList) {
//    //        //文件数据每个字段
//    //        String[] rowTmp = s.split("\\|");
//    //        list.add(createMwbpHostCheckInfo(rowTmp));
//    //    }
//    //    return list;
//    //}
//    //
//    ///**
//    // * 保存hostCheckInfo实体数据
//    // */
//    //private MwbpHostCheckInfo createMwbpHostCheckInfo(String[] rowTmp) {
//    //    MwbpHostCheckInfo hostCheckInfo = new MwbpHostCheckInfo();
//    //    log.info("解析核心地址文件获取到的借贷标识及状态：{}", rowTmp[25] + ":" + rowTmp[19]);
//    //    hostCheckInfo.setHostSerno(StringUtils.isBlank(rowTmp[0]) ? "" : rowTmp[0]);//核心流水号，
//    //    hostCheckInfo.setSrcSysSeqno(StringUtils.isBlank(rowTmp[1]) ? "" : rowTmp[1]);//全局流水号
//    //    Date tDate = DateUtil.formatDate(rowTmp[2], DateUtil.DATETIME_DEFAULT_FORMAT);
//    //    hostCheckInfo.setTransDate(StringUtils.isBlank(rowTmp[2]) ? "" : DateUtil.getDateFormat(tDate, DateUtil.DATE_DEFAULT_FORMAT));//交易日期
//    //    hostCheckInfo.setTransAmt(StringUtils.isBlank(rowTmp[3]) ? BigDecimal.ZERO : new BigDecimal(rowTmp[3]));//交易金额
//    //    hostCheckInfo.setCur(StringUtils.isBlank(rowTmp[4]) ? "" : rowTmp[4]);//币种
//    //    hostCheckInfo.setAcctNo(StringUtils.isBlank(rowTmp[5]) ? "" : rowTmp[5]);//交易账户
//    //    hostCheckInfo.setAcctName(StringUtils.isBlank(rowTmp[6]) ? "" : rowTmp[6]);//账户名称
//    //    hostCheckInfo.setTransType(StringUtils.isBlank(rowTmp[7]) ? "" : rowTmp[7]);//交易类型
//    //    Date cDate = DateUtil.formatDate(rowTmp[8], DateUtil.DATETIME_DEFAULT_FORMAT);
//    //    hostCheckInfo.setClearDate(StringUtils.isBlank(rowTmp[8]) ? "" : DateUtil.getDateFormat(cDate, DateUtil.DATE_DEFAULT_FORMAT));//清算日期
//    //    hostCheckInfo.setBatchNo(StringUtils.isBlank(rowTmp[9]) ? "" : rowTmp[9]);//批次号
//    //    hostCheckInfo.setAcctSeqno(StringUtils.isBlank(rowTmp[10]) ? "" : rowTmp[10]);//账户序号
//    //    hostCheckInfo.setReversalFlag(StringUtils.isBlank(rowTmp[11]) ? "" : rowTmp[11]);//冲正标志
//    //    hostCheckInfo.setReversalType(StringUtils.isBlank(rowTmp[12]) ? "" : rowTmp[12]);//冲正类型
//    //    hostCheckInfo.setBalance(StringUtils.isBlank(rowTmp[13]) ? BigDecimal.ZERO : new BigDecimal(rowTmp[13]));//余额
//    //    Date chaDate = DateUtil.formatDate(rowTmp[14], DateUtil.DATETIME_DEFAULT_FORMAT);
//    //    hostCheckInfo.setEsbDate(StringUtils.isBlank(rowTmp[14]) ? "" : DateUtil.getDateFormat(chaDate, DateUtil.DATE_DEFAULT_FORMAT));//渠道日期
//    //    hostCheckInfo.setOrgno(StringUtils.isBlank(rowTmp[15]) ? "" : rowTmp[15]);//机构
//    //    hostCheckInfo.setChnlType(StringUtils.isBlank(rowTmp[16]) ? "" : rowTmp[16]);//渠道类型
//    //    hostCheckInfo.setTransNav(StringUtils.isBlank(rowTmp[17]) ? "" : rowTmp[17]);//交易描述
//    //    hostCheckInfo.setRemark(StringUtils.isBlank(rowTmp[18]) ? "" : rowTmp[18]);//备注
//    //    hostCheckInfo.setHostStatus(StringUtils.isBlank(rowTmp[19]) ? "" : rowTmp[19]);//交易状态：确认成功
//    //    hostCheckInfo.setMatchAcctNo(StringUtils.isBlank(rowTmp[20]) ? "" : rowTmp[20]);//对手帐号
//    //    hostCheckInfo.setMatchAcctName(StringUtils.isBlank(rowTmp[21]) ? "" : rowTmp[21]);//对手账户名称
//    //    hostCheckInfo.setMatchBankName(StringUtils.isBlank(rowTmp[22]) ? "" : rowTmp[22]);//对手行名
//    //    hostCheckInfo.setMatchBankNo(StringUtils.isBlank(rowTmp[23]) ? "" : rowTmp[23]);//对手行号
//    //    hostCheckInfo.setTransTime(StringUtils.isBlank(rowTmp[24]) ? "" : rowTmp[24]);//交易时间戳
//    //    hostCheckInfo.setBorrowFlag(StringUtils.isBlank(rowTmp[25]) ? "" : rowTmp[25]);//借贷标识
//    //    hostCheckInfo.setTransSeqNo(StringUtils.isBlank(rowTmp[26]) ? "" : rowTmp[26]);//子渠道流水号
//    //    hostCheckInfo.setSystemId(StringUtils.isBlank(rowTmp[27]) ? "" : rowTmp[27]);//系统编码
//    //    hostCheckInfo.setTransTlrno(StringUtils.isBlank(rowTmp[28]) ? "" : rowTmp[28]);//柜员号
//    //    hostCheckInfo.setDigest(StringUtils.isBlank(rowTmp[29]) ? "" : rowTmp[29]);//摘要
//    //    //核心文件中有的数据最后一个字段为空则需要手工添加一个空串(他们返回的对账文件数据不在一个表中所以字段有可能不一样)
//    //    if (rowTmp.length == 31) {
//    //        hostCheckInfo.setAcctXsFlag(StringUtils.isBlank(rowTmp[30]) ? "" : rowTmp[30]);//账户虚实标识
//    //    }
//    //    hostCheckInfo.setChkStatus(MwbpConstant.MWBP_HOST_CHECK_INFO_CHK_STATUS_0);
//    //    log.info("解析核心对账文件放到实体mwbpHostCheckInfo：{}", hostCheckInfo);
//    //    return hostCheckInfo;
//    //}
//    //
//    //
//    //private MwbpBatchFile noticeHostGenCheckFile(BatchClearBasicTaskStepExec taskStepObject, BatchTaskExecute batchServiceBean) throws TaskStepExecException {
//    //    log.info("---------- noticeHostGenCheckFile-通知核心主机生成对账文件 Begin -----------");
//    //    /*
//    //     * 1.初始化文件下载信息表（mwbp_batch_file）
//    //     * 2.根据核心返回编码重置返回：接收状态：recv_status（0-未接收,1-接收中,2-接收成功，3-接收理失败），接收文件名：recv_file_name
//    //     *   接收文件路径：recv_file_path，批次编号-返回编号：batch_no，batch_no_type：类型：0：核心，1：统一支付，2：数仓
//    //     * 3.远程调用/rb/file/accountFile/create(远程调用：生成对账文件(XXX))
//    //     */
//    //    //组装参数
//    //    EsbHostFileRequest hostFileRequest = new EsbHostFileRequest();
//    //    hostFileRequest.setStartDate(taskStepObject.getExecDate());
//    //    hostFileRequest.setEndDate(taskStepObject.getExecDate());
//    //    String busiType = parameterUtil.getParameterByCode("mwbpBusiType");
//    //    //业务类型 01-对账
//    //    hostFileRequest.setBusiType(busiType);
//    //    String channelType = parameterUtil.getParameterByCode("mwbpChannelType");
//    //    //渠道编码 011701
//    //    hostFileRequest.setChannelType(channelType);
//    //    //子系统流水号
//    //    hostFileRequest.setSubSeqNo(RequestBuilder.createSubSeqNo());
//    //    //全局流水号
//    //    hostFileRequest.setChannelSeqNo(RequestBuilder.gJnlnoForTs());
//    //    log.info("查看获取核心对账接口参数：{}，全局流水号={}子流水号：{}", hostFileRequest, hostFileRequest.getChannelSeqNo(), hostFileRequest.getSubSeqNo());
//    //    EsbHostFileResponse fileResp = new EsbHostFileResponse();
//    //    boolean checkFileResult = true;
//    //    String msg = "";
//    //    try {
//    //        //远程调用trans，请求核心生成对账文件
//    //        UserTokenContext.setToken(tempTokenUtil.getTempToken());
//    //        fileResp = iTransApi.queryHostGenCheckFile(hostFileRequest);
//    //        if (Util.isNullOrEmpty(fileResp) || fileResp.getFilePath1() == null) {
//    //            log.info("调用核心{}接口成功，当前日期={}无对账文件返回", fileResp, taskStepObject.getExecDate());
//    //            checkFileResult = false;
//    //            // todo-wuwei:待调整
//    //            msg = "调用核心[批量业务文件管理(30065000001)]接口成功！返回结果异常！全局流水号：" + fileResp.getCommonResponseHead().getGlobalJnlNo() + " 当前日期" + taskStepObject.getExecDate();
//    //        }
//    //    } catch (Exception e) {
//    //        log.info("queryHostGenCheckFile 执行异常:{}", e.getMessage());
//    //        checkFileResult = false;
//    //        //e.printStackTrace();
//    //    } finally {
//    //        UserTokenContext.remove();
//    //    }
//    //    if (!checkFileResult) {
//    //        throw new TaskStepExecException(msg, TaskStepStatusCodeEnum.TASK_STEP_RUNNING_ERROR, batchServiceBean);
//    //    }
//    //    //保存文件下载信息表(mwbp_batch_file)
//    //    MwbpBatchFile batchFile = createMwbpBatchFileHost(hostFileRequest, fileResp, taskStepObject);
//    //    log.info("---------- noticeHostGenCheckFile-通知核心主机生成对账文件 end -----------");
//    //    return batchFile;
//    //}
//    //
//    ///**
//    // * 初始化文件下载信息表
//    // */
//    //public MwbpBatchFile createMwbpBatchFileHost(EsbHostFileRequest hostFileRequest, EsbHostFileResponse fileResp,
//    //                                             BatchClearBasicTaskStepExec taskStepObject) {
//    //    MwbpBatchFile batchFile = new MwbpBatchFile();
//    //    batchFile.setChannelSeqNo(hostFileRequest.getChannelSeqNo());
//    //    batchFile.setSubSeqNo(hostFileRequest.getSubSeqNo());
//    //    batchFile.setTaskExecid(taskStepObject.getTaskExecid());
//    //    batchFile.setSysCode(MwbpConstant.MWBP_BATCH_FILE_SYS_CODE_3);
//    //    batchFile.setFileType(MwbpConstant.MWBP_BATCH_FILE_TYPE_0);
//    //    batchFile.setSliceServiceClass(taskStepObject.getSliceServiceClass());
//    //    batchFile.setExecDate(taskStepObject.getExecDate());
//    //    batchFile.setCreateBy("HOST");
//    //    batchFile.setRecvFileName(fileResp.getFilePath1());
//    //    //文件名称
//    //    if (fileResp.getFilePath1().startsWith(File.separator)) {
//    //        batchFile.setRecvFilePath(fileResp.getFilePath1().substring(1));
//    //    }
//    //    batchFile.setBatchNo(fileResp.getCollateBatchNo());
//    //    batchFile.setBatchNoType(MwbpConstant.MWBP_BATCH_FILE_BATCH_NO_TYPE_0);
//    //    batchFile.setRecvStatus(MwbpConstant.MWBP_BATCH_FILE_RECV_STATUS_2);
//    //    batchFileService.save(batchFile);
//    //    log.info("接收核心生成文件名称:{}", batchFile.getRecvFileName());
//    //    return batchFile;
//    //}
//    //
//    //
//    //private BatchExecResp checkConnServerAndFileDir(BatchExecResp resp, String downFileMethod) {
//    //
//    //    //GTP传输方式
//    //    String coreConnServer = MwbpConstant.ERR_MWBP_GTP.equals(downFileMethod) ? parameterUtil.getParameterByCode("mwbpCoreGtp") :
//    //            parameterUtil.getParameterByCode("mwbpCoreSftp");
//    //    //校验是否为空
//    //    if (Util.isNullOrEmpty(coreConnServer)) {
//    //        resp.setRtnDesc("操作失败！核心文件服务器文件传输地址为空!");
//    //        resp.setRtnCode(RetCode.FAILED);
//    //        return resp;
//    //    }
//    //    //校验GTP对账文件信息
//    //    String[] gtpStr = coreConnServer.split(",");
//    //    //校验IP
//    //    ip = gtpStr[0];
//    //    if (Util.isNullOrEmpty(ip)) {
//    //        resp.setRtnDesc("操作失败！后台与文件服务器文件传输IP为空!");
//    //        resp.setRtnCode(RetCode.FAILED);
//    //        return resp;
//    //    }
//    //    //校验port
//    //    port = Integer.parseInt(gtpStr[1]);
//    //    if (Util.isNullOrEmpty(port)) {
//    //        resp.setRtnDesc("操作失败！后台与文件服务器文件传输地址port为空!");
//    //        resp.setRtnCode(RetCode.FAILED);
//    //        return resp;
//    //    }
//    //    //校验name
//    //    user = gtpStr[2];
//    //    if (Util.isNullOrEmpty(user)) {
//    //        resp.setRtnDesc("操作失败！后台与文件服务器文件传输用户USER为空!");
//    //        resp.setRtnCode(RetCode.FAILED);
//    //        return resp;
//    //    }
//    //    //GTP传输方式（pass）
//    //    pass = MwbpConstant.ERR_MWBP_GTP.equals(downFileMethod) ? parameterUtil.getParameterByCode("mwbpCoreGtpPass_SM4") :
//    //            parameterUtil.getParameterByCode("mwbpCoreSftpPass_SM4");
//    //
//    //    //校验是否为空
//    //    if (Util.isNullOrEmpty(pass)) {
//    //        resp.setRtnDesc("操作失败！核心文件服务器密码[mwbpCoreGtpPass_SM4]配置为空!");
//    //        resp.setRtnCode(RetCode.FAILED);
//    //        return resp;
//    //
//    //    }
//    //    //校验本地服务器
//    //    String coreUrl = parameterUtil.getParameterByCode("mwbpCoreUrl");
//    //    //校验是否为空
//    //    if (Util.isNullOrEmpty(coreUrl)) {
//    //        resp.setRtnDesc("操作失败！核心文件服务器本地服务器路径[mwbpCoreUrl]配置为空!");
//    //        resp.setRtnCode(RetCode.FAILED);
//    //        return resp;
//    //    }
//    //    //查看路径
//    //    downloadHostFileDir = new File(coreUrl);
//    //    if (!downloadHostFileDir.exists()) {
//    //        boolean mkdirs = downloadHostFileDir.mkdirs();
//    //
//    //        if (mkdirs) {
//    //            downloadHostFileDir = new File(coreUrl);
//    //        } else {
//    //            resp.setRtnDesc("操作失败！创建下载核心文件本地存放目录[" + coreUrl + "]失败!");
//    //            resp.setRtnCode(RetCode.FAILED);
//    //            return resp;
//    //        }
//    //    }
//    //    //检查文件夹权限是否正常
//    //    log.info("核心文件夹{}可读权限为{}", downloadHostFileDir, downloadHostFileDir.canRead());
//    //    log.info("核心文件夹{}可写权限为{}", downloadHostFileDir, downloadHostFileDir.canWrite());
//    //
//    //    if (downloadHostFileDir.exists() && downloadHostFileDir.isDirectory()) {
//    //        File[] listFiles = downloadHostFileDir.listFiles();
//    //        if (Util.isNullOrEmpty(listFiles)) {
//    //            resp.setRtnDesc("操作失败！下载核心文件本地存放目录不存在[" + coreUrl + "]");
//    //            resp.setRtnCode(RetCode.FAILED);
//    //            return resp;
//    //        }
//    //
//    //    } else {
//    //        resp.setRtnDesc("操作失败！下载核心文件本地存放目录不存在[" + coreUrl + "]");
//    //        resp.setRtnCode(RetCode.FAILED);
//    //        return resp;
//    //    }
//    //
//    //    return resp;
//    //}
//    //
//    ///**
//    // * 按照全局流水号查询（channelSeqNo）
//    // *
//    // * @param channelSeqNo 全局流水号
//    // * @return batchFile
//    // */
//    //private MwbpBatchFile getChannelSeqNo(String channelSeqNo) {
//    //    QueryWrapper<MwbpBatchFile> queryWrapper = new QueryWrapper<>();
//    //    queryWrapper.lambda().eq(MwbpBatchFile::getChannelSeqNo, channelSeqNo);
//    //    return batchFileService.getOne(queryWrapper);
//    //}
//    //
//    //@Override
//    //public void rollback(BatchTaskExecute BatchServiceBean) throws TaskStepExecException {
//    //
//    //}
//}
